Proving Non-termination Using Max-SMT
نویسندگان
چکیده
We show how Max-SMT-based invariant generation can be exploited for proving non-termination of programs. The construction of the proof of nontermination is guided by the generation of quasi-invariants – properties such that if they hold at a location during execution once, then they will continue to hold at that location from then onwards. The check that quasi-invariants can indeed be reached is then performed separately. Our technique considers strongly connected subgraphs of a program’s control flow graph for analysis and thus produces more generic witnesses of non-termination than existing methods. Moreover, it can handle programs with unbounded non-determinism and is more likely to converge than previous approaches.
منابع مشابه
Methods for proving non-termination of programs
The search for reliable and scalable automated methods for finding counterexamples to termination or alternatively proving non-termination is still widely open. The thesis studies the problem of proving non-termination of programs and presents new methods for the same. It also provides a thorough comparison of new methods along with the previous methods. In the first method, we show how the pro...
متن کاملThe YICES SMT Solver
SMT stands for Satisfiability Modulo Theories. An SMT solver decides the satisfiability of propositionally complex formulas in theories such as arithmetic and uninterpreted functions with equality. SMT solving has numerous applications in automated theorem proving, in hardware and software verification, and in scheduling and planning problems. This paper describes Yices, an efficient SMT solver...
متن کاملMinimal-Model-Guided Approaches to Solving Polynomial Constraints and Extensions
In this paper we present new methods for deciding the satisfiability of formulas involving integer polynomial constraints. In previous work we proposed to solve SMT(NIA) problems by reducing them to SMT(LIA): non-linear monomials are linearized by abstracting them with fresh variables and by performing case splitting on integer variables with finite domain. When variables do not have finite dom...
متن کاملتوسعه روش SL با ترتیب KBO برای اثبات خودکار پایانپذیری سیستم بازنویسی ترم - مقاله برگزیده هفدهمین کنفرانس ملی انجمن کامپیوتر ایران
The term rewriting systems (TRSs) is an abstract model of functional languages. The termination proving of TRSs is necessary for confirming accuracy of functional languages. The semantic labeling (SL) is a complete method for proving termination. The semantic part of SL is given by a quasi-model of the rewrite rules. The most power of SL is related to infinite models that is difficult f...
متن کاملConflict-Driven Conditional Termination
Conflict-driven learning, which is essential to the performance of sat and smt solvers, consists of a procedure that searches for a model of a formula, and refutation procedure for proving that no model exists. This paper shows that conflict-driven learning can improve the precision of a termination analysis based on abstract interpretation. We encode non-termination as satisfiability in a mona...
متن کامل